package com.ldatum.crm.action.web;

import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.ldatum.crm.action.admin.BaseAction;

public class DownloadAction extends BaseAction{
	
	
	private static final long serialVersionUID = 1L;
//	private String md5;
	private String fileName;

	/*定义一个返回inputStream的方法，该方法将作为一个文件下载的入口，且需要配置stream类型结果是指定inputName
	参数。inputName参数的值就是方法去掉get,首字母小写的字符串
	*/
	public InputStream getTargetFile() throws Exception{

		//如果下载的文件名是中文，则进行字符编码转换
		ServletActionContext.getResponse().setHeader("Content-Disposition", "attachment;fileName=" +
				java.net.URLEncoder.encode(fileName, "UTF-8"));
		InputStream inputStream  = new FileInputStream("D:\\E_DATA\\study software\\TOMCAT\\apache-tomcat-6.0.30\\apache-tomcat-6.0.30\\webapps\\lidao\\source\\admin\\file"+this.getFileName()); 
//		servletContext提供getResourceAsStream()方法
		
		return inputStream;
	}
	
	@Override
	public String execute() throws Exception{
		
		//这里进行参数验证，保证请求的下载文件合法性,本例对传入参数md5进行验证并将其值赋予filename
//		if(md5.matches("[\\w&&[^_]]{32}?")){
//			inputPath = md5.toLowerCase();
			return SUCCESS;
//		}
//		return INPUT;	
	}
//	public String getMd5() {
//		return md5;
//	}
//	public void setMd5(String md5) {
//		this.md5 = md5;
//	}
	public String getFileName() {
		return fileName;
	}
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	
}
